A standard keyboard comprises many keys and each key is associated with a character of an alphabet, numbering system, punctuation mark, a currency symbol, and so on. The exact shape by which a character is represented is called a glyph. For example, a roman character ‘A’ and a roman italic character ‘A’ are two different types of glyphs representing the same character.
The number of glyphs that users need to use is increasing, for example, glyphs such as the Dollar, Euro or Yen currency symbols and special mathematical symbols, etc. However, even though the number of glyphs is increasing, the number of physical keys on a keyboard is decreasing because of a move to smaller devices with small keyboards. Consequently, it is normal for multiple glyphs to be obtained from the same physical key through the use of modifier keys.
A modifier key allows a user to access a particular glyph associated with a key by ‘holding down’ the modifier key in combination with the key. For example, the AltGr lock key or the shift key, etc. Some modifier keys toggle their state each time they are pressed, enabling their action to be ‘latched’. Examples of this include the caps Lock key and the num Lock key. While the modifier key is latched into position, pressing other keys will often result in alternative glyphs being generated.
Consequently, a problem arises when a user forgets to unlatch a modifier key, after use and/or erroneous activation of the keys due to ‘mis-keying’ and thus continues to type characters strings that are not what was intended. Further these mistakes are frequently not easily corrected by normal techniques.
Consider the following text:
“Now is the time for all good men to do their duty”
When entered on, for example, an IBM laptop computer's keyboard with the num lock key engaged, the above sentence would read as follows:
“N6w 5s the t50e for a33 g66d 0en t6 d6 the5r d4ty”
A spell checker will be unable to correct this, though a good spell checker will find some words via statistical methods. For example, one well known word processing package will correct the above character stream to
“New 5s the t50e far a33g66d men t6 d6 their duty”
One partial solution to this problem is provided by spell checking applications which try and offer alternative text suggestions for an unrecognised character string based on various methods, including context. However, spell checking applications are unable to offer alternative character strings for the type described above.
Another partial solution to this problem is provided by a case-corrector application, which looks for inversion of expected case in a word at the start of a sentence. For example, oNCE, rather than Once, and flips the case of the words and turns off the caps lock modifier key.
Another partial solution is predictive text entry, such as systems that use dictionary methods to simplify text entry by using algorithms to predict the word that is being entered. However, this is cumbersome and impractical for general text entry, and is more suited to highly restricted keypads such as those found on devices like cellular telephones or PDAs.
Thus there is a need in the art to provide a solution to the above mentioned problems.